package project.weather.dao;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import project.weather.dao.WeatherData;

import java.io.File;
import java.io.IOException;

public class MyExcel {
    private File file;

    public MyExcel(String s) throws IOException {
        file = new File(s);
        file.createNewFile();
    }

    public void exportData(WeatherData data, JSONObject json) throws IOException, WriteException, JSONException {
        JSONArray jsonArray1 = new JSONArray(json.getString("aaFileName"));
        JSONArray jsonArray2 = new JSONArray(json.getString("aaData"));

        //2:创建工作簿
        WritableWorkbook workbook= Workbook.createWorkbook(file);
        //3:创建sheet,设置第二三四..个sheet，依次类推即可
        WritableSheet sheet=workbook.createSheet("设备表", 0);
        //4：设置titles
//        String[] titles={"设备ID","设备名","创建人","创建时间"};
        //5:单元格
        Label label=null;
        //6:给第一行设置列名
        for(int i=0;i<jsonArray1.length();i++){
            //x,y,第一行的列名
            label=new Label(i,0,jsonArray1.getString(i));
            //7：添加单元格
            sheet.addCell(label);
          //  System.out.println("构造的列名"+ label);
        }
        //8：模拟数据库导入数据
        for(int i=1;i<jsonArray2.length();i++){
            for(int j=0;j<jsonArray2.getJSONObject(i).length();j++) {
                //添加编号，第二行第一列（因为第一行就是上面的属性标签）
                // 用两重循环添加所有
                label = new Label(j, i, jsonArray2.getJSONObject(i).getString(jsonArray1.getString(j)));
                sheet.addCell(label);
           //     System.out.println("构造的数据"+ label);
            }
        }
        //写入数据，一定记得写入数据，不然你都开始怀疑世界了，excel里面啥都没有
        workbook.write();
        //最后一步，关闭工作簿
        workbook.close();
    }
}
